﻿using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
using System.Runtime.InteropServices;

namespace 后台响应按键
{
    public partial class Form1 : Form
    {
        
        [DllImport("user32.dll")]
        public static extern UInt32 RegisterHotKey(IntPtr hWnd, UInt32 id, UInt32 fsModifiers, UInt32 vk); //API 

        public Form1()
        {
            InitializeComponent();
            RegisterHotKey(this.Handle, 247696411, 0, (UInt32)Keys.F10); //注册热键 
        }

        //重写消息循环 
        protected override void WndProc(ref Message m)
        {
            const int WM_HOTKEY = 0x0312;
            // m.WParam.ToInt32() 要和 注册热键时的第2个参数一样 
            if (m.Msg == WM_HOTKEY && m.WParam.ToInt32() == 247696411) //判断热键 
            {
                //写上你的代码 
                MessageBox.Show("热键测试成功");
            }
            base.WndProc(ref m);
        }

        private void Form1_Load(object sender, EventArgs e)
        {

        }
    }
}
